<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{margin: 0;padding: 0;box-sizing: border-box;}
        ul{
            list-style: none;
        }
        .box{
            width: 100%;
            
        }
        li{
            margin: 10px 0;
            line-height: 30px;
        }
        h1{
            text-align: center;
            
        }
        ul{
            margin: 20px 20px;
        }
    </style>
</head>
<body>
    <div class="box">
        <h1>第一周总结</h1>
        <ul class="zuo">
            <li>
                <h2>1.gitee码云使用</h2>
            </li>
            <li><h4>1.cmder</h4></li>
            <li>
                01.dir查看目录下所有文件 <br> 
                02.cd+名字 进入定制目录 <br>
                03.D切换盘符 用大写字母D ‘+’ ：
            </li>
            <li><h4>2.git</h4></li>
            <li>
                01.配置本地仓库 语法：gitinit<br>
                02.链接云端仓库 语法：git remote add origin <br>   
                03.克隆云端项目 语法：git clone 
            </li>
            <li><h4>3.vscode绑定</h4></li>
            <li>
                安装插件实现vscode和本地仓库绑定<br>
                01.设置 输入 git:path搜索<br>
                02.打开setting.json  git：path:'git/cmd/git.exe'
            </li>
        </ul>
        <ul class="con">
            <li>
                <h2>2.es6基础语法</h2>
            </li>
            <li><h4>1.常变量</h4></li>
            <li>
                01.const --一旦赋值 它的值不可改变<br>
                02.let --不可重名 没有声明提前 有暂时性死区 有块级作用域
            </li>
            <li>
                <h4>2.解构赋值</h4>
            </li>
            <li>
                01.数组解构：const arr=[1,2,3,4] let [a,b,c,d]=arr a=1 数组解构一般用于第一次对已知长度数组进行初始化赋值<br>
                02.对象解构：data={name:"tim",age:'18'} let{name,age}=data name=tim  <br>
                03.字符串解构：str='asdf' let[a,b,c]=str c=d 利用数组解构的方法
            </li>
            <li>
                <h4>3.扩展</h4>
            </li>
            <li>
                01.[...]在数组中将元素一次性取出<br>
                02.{...}在对象中相当于将obj放到一个新的对象中
            </li>
            <li>
                <h4>4.class类及继承</h4>
            </li>
            <li>
                01.类 class A{}   Array <br>
                02.实例化 let a=new A{} <br>
                03.继承 class B extends class A{ constructor(){
                    super()
                }} <br>
                04.super的使用  如果super在函数中调用 用super()方法 parent。constructor.call(child) 此时使用的是parent的属性及方法 this指向的是child
            </li>
            <li><h4>5.数组的新增方法</h4></li>
            <li>
                01.类数组转对象 Array.from()  Array.isArray()判断是否是数组 返回true/false 静态方法<br>
                02.map()近似forEach 对元素重新处理之后返回 可以return；<br>
                03.forEach() ES6数组循环<br>
                04.find() 查找数组中符合条件的元素，返回符合条件的第一个元素<br>
                05.findIndex() 查找数组中符合条件的元素，返回符合条件的第一个元素的下标<br>
                06.filter() 筛选数组 很具筛选条件返回一个符合条件的新数组<br>
                07.every() 数组中的元素全部满足条件 返回为true 否则false <br>
                08.some() 数组中的元素只有有一个满足条件 返回为true <br>
                09.reduce((prev,next,index,arr)=>{},0) 第一个参数是回调函数 第二个参数决定了prev的默认值
            </li>
            <li><h4>6.对象的新增方法</h4></li>
            <li>
                01.Object.assgin(obj1,obj2) 合并对象 将obj所有参数合并到obj1参数后面<br>
                02.Object.is() 检测两个数据是否相等 true/false Object.is(NaN,NaN)返回为true <br>
                03.Object.keys()将对象中的所有健名 取出形成数组0
            </li>
        </ul>
        <ul>
            <li><h2>3.node</h2></li>
            <li>
                <h4>1.common.js规范，cmd的指令</h4>
            </li>
                01.common.js 正常情况下不能再浏览器环境下运行 只能用于服务端
            <li>
                <h4>2.node模块管理 fs：</h4>
            </li>
            <li>
                01.let fs=require('fs')  核心模块不用./ 自定义模块需要./ <br>
                02.fs.writefileSync('./filename','conten','utf-8') 如果没有文件 我们会创建文件 如果有文件 直接把content覆盖原来的文件<br>
                03.fs.existsSync('./filename')判断是否存在 返回boolean <br>
                04.fs.unlinkSync('./filename')删除目录<br>
                05.let stat=fs.statSync('./filename') 判断资源是文件还是目录 stat是一个对象<br>
                06.    stat.isFile()用来判断是否是文件；返回值为boolean <br>
                07.    stat.isDirectory()判断资源是否是目录；返回值：boolean<br>
                08.fs.mkdirSync('./dirname') 创建目录
                09.fs.readdirSync('./dirname')读取目录 返回一个数组
                10.fs.rmdirSync('./dirname') 删除目录 只能删除空目录
            </li> 
            <li>
                <h4>3.npm语法-包管理指令</h4>
            </li>
            <li>
                01.包在node环境下 把多个模块集合在一个的更大的完整的模块 容乃了一个完整模块的目录 成为包 1自定义包 2核心包 3第三方包<br>
                02.将目录配置为包 nom init <br>
                03.npm install packagename -S 生产环境安装第三方的包或者核心包<br>
                04.npm install packagename -D 开发环境安装第三方的包或者核心包<br>
                05.npm install packagename -g 全局安装第三方的包或者核心包<br>
                06.npm ininstall packegename 删除包<br>
                07.npm config gte prefix 查询安装位置 返回包的存放地址<br>
                08.npm config get registry 查看安装包的下载地址<br>
                09.npm config set registry https://registry.nom.taobao.org 使用淘宝镜像服务器地址下载包
            </li>
            <li>
                <h4>4.包的使用</h4>
            </li>
            <li>
                01.包存在于 node_modules中 我们直接引包名 require(包名) <br>

                02.否则需要路径查找：require('./包名')
            </li>
            <li>
                <h4>5.ES6语法转译</h4>
            </li>
            <li>
                01.@babel/chi 指令权限包 <br>
                02.@babel/core 转移功能核心包 <br>
                03.@babel/plugin-transform-arrow-functions -D 箭头函数转为普通函数 <br>
                04.@babel/pligin-transform-classes转换 类 <br>
                05.创建 。babelrc文件 进行配置<br>
                06.解决浏览器兼容性 @babel/polyfill 在es6文件的开头处 使用import @babel/polyfill
            </li>
            <li>
                <h4>6.Es6模块</h4>
            </li>
            <li>    
                01.模块导出-- export 关键字 导出的内容
                02.模块导入-- import 导出内容的名字 form '--common.js'
                03.注意事项-- node s是环境 为了让es6正常运行的环境 common.js 规范<br>
                 node 支持es6中的97%的语法 就是不支持es6的导入导出规范 为了实现对es6的规范的支持 我们将es6的src转换为es5
            </li>
        </ul>
    </div>
</body>
</html>